This invention relates generally to computer interfaces and more particularly to computerized interactor systems that utilize user programmable interactors for providing computer interfaces.
People are constantly interacting with computerized systems, from the trivial (e.g., the computerized toaster or the remote control television) to the exceedingly complex (e.g., telecommunications systems and the Internet). An advantage of computerization is that such systems provide flexibility and power to their users. However, the price that must be paid for this power and flexibility is, typically, an increase in the difficulty of the human/machine interface.
A fundamental reason for this problem is that computers operate on principles based on the abstract concepts of mathematics and logic, while humans tend to think in a more spatial manner. Often people are more comfortable with physical, three-dimensional objects than they are with the abstractions of the computer world. In short, the power and flexibility provided by the computer and related electronic technology are inherently limited by the ability of the human user to control these devices. Since people do not think like computers, metaphors are adopted to permit people to effectively communicate with computers. In general, better metaphors permit more efficient and medium independent communications between people and computers. The better metaphor will provide the user a natural and intuitive interface with the computer without sacrificing the computer""s potential.
There are, of course, a number of computer interfaces which allow users, with varying degrees of comfort and ease, to interact with computers. For example, keyboards, computer mice, joysticks, etc. allow users to physically manipulate a three-dimensional object to create an input into a computer system. However, these computer interfaces are quite artificial in nature, and tend to require a substantial investment in training to be used efficiently.
Progress has been made in improving the computer interface with the graphical user interface (GUI). With a GUI, icons that represent physical objects are displayed on a computer screen. For example, a document file may look like a page of a document, a directory file might look like a file folder, and an icon of a trash can may be used for disposing of documents and files. In other words, GUIs use xe2x80x9cmetaphorsxe2x80x9d where a graphical icon represents a physical object familiar to users. This makes GUIs easier for most people to use. GUIs were pioneered at such places as Xerox PARC of Palo Alto, Calif. and Apple Computer, Inc. of Cupertino, Calif. The GUI is also often commonly used with UNIX(trademark) based systems, and is rapidly becoming a standard in the PC/MS-DOS world with the Windows(trademark) operating system provided by Microsoft Corporation of Redmond, Wash.
While GUIs are a major advance in computer interfaces, they nonetheless present a user with a learning curve due to their still limited metaphor. In other words, an icon can only represent a physical object; it is not itself a physical object. It would be ideal if the computer interface was embodied in a physical medium which could convey a familiar meaning, one perhaps relevant to the task at hand.
Recognizing the problems, a number of researchers and companies have come up with alternative computer interfaces which operate on real-world metaphors. Some of these concepts are described in the July, 1993 special issue of Communications of the ACM, in an article entitled xe2x80x9cComputer Augmented Environments, Back to the Real World.xe2x80x9d Another example is the electronic white boards of Wacom and others where ordinary-looking erasers and markers are used to create an electronic xe2x80x9cink.xe2x80x9d Wellner describes a xe2x80x9cDigitalDeskxe2x80x9d that uses video cameras, paper, and a work station to move between the paper and the electronic worlds. Fitzmarice has a xe2x80x9cChameleonxe2x80x9d unit which allows a user to walk up to a bookshelf and press a touch-sensitive LCD strip to hear more about a selected book. Finally, MIT Media Lab has a product known as Lego/Logo which lets children program by snapping plastic building blocks together, where each of the building blocks includes an embedded microprocessor.
Bishop has developed a xe2x80x9cmarble answering machinexe2x80x9d which appears to store a voice mail message in a marble that drops into a cup. The marble, in fact, triggers a pointer on a small computer which stores the message. To play back the message, the marble is dropped into the machine again. This marble answering machine has been publicly known at least as of June, 1993.
While strides have been made in attempting to improve computer interfaces, there is still progress to be made in this field. Ultimately, the interface itself should disappear from the conscious thought of users so that they can intuitively accomplish their goals without concern to the mechanics of the interface or the underlying operation of the computerized system.
The present invention improves the human-computer interface by using xe2x80x9cinteractors.xe2x80x9d An interface couples a detection field to a computer system which, in turn, may be coupled to other systems. When an interactor is entered into the detection field, moved about within the detection field, or removed from the detection field, an event is detected which, when communicated to the computer system, can be used to create a control signal for either the controller computer system or to a system connected to the controller computer system. Preferably, the detection field is suitably sized and configured so that multiple users can simultaneously access the field and such that multiple interactors can be engaged with the field simultaneously.
By xe2x80x9cinteractorxe2x80x9d it is meant that a physical, real world object is used that can convey information both to the controller computer system and to users. An interactor can provide identity (ID) information and other state information to the computer through a resistor, an embedded computer chip, a bar code, etc. An object can also be made into an interactor by embedding higher-level logic, such as a program logic array, microprocessor, or even a full-blown microcomputer. An interactor forms part of a system wherein information is assigned by users to at least one object.
According to a first embodiment of the present invention, a computerized interactor system has a detection space, at least one physical interactor which can be manually placed within and removed from the detection space, and an interface. This physical interactor has an identity and a user programmable state variable, and the interface responds to the physical interactor by providing an interactor signal indicative of the identity and the programmable state variable.
In related embodiments, the computerized interactor system also has a computer system that processes the interactor signal to create a control input that is indicative of the identity and/or the programmable state variable. Coupled to the computer system is a computer readable medium storing application data. This application data defines both an identity mapping between each interactor identity and a corresponding interactor identity computer instruction, and a position mapping between each of the plurality of positions and a corresponding position computer instruction. The computer readable medium may be one of a number of different removable computer readable mediums available, each one providing different data and perhaps even a different type of application.
For example, one embodiment of the present invention teaches that the identity computer instructions are sound instructions and that the plurality of interactors each represent a playable sound sequence. Similarly, the position computer instructions are sound modification instructions such that the positions each represent a particular sound modification characteristic. In this case, the computer system has an amplifier and a speaker and will play sound in accordance with the identity and position mappings and the control input generated due to the arrangement of the plurality of interactors at the plurality of positions of the detection space.
In yet another embodiment of the present invention, the computerized interactor system includes an overlay template attachable to cover one or more of the plurality of positions. This overlay template provides content to a user of the computerized interactor system, and can be used to implement a variety of different applications.
By way of example, the overlay template could represent a fill-in-the-blank text having at least one blank overlapping some positions but exposing others. In this case, the interactor identity computer instructions could each represent a word, and when an interactor is inserted into an exposed position, the computer system can sound out the fill-in-the-blank text, inserting the word represented by the inserted interactor. Alternatively, rather than simply reading text aloud, the interactor system would play a chosen sound or other media for each of the blanks provided in the overlay.
Another embodiment of the present invention teaches a user playable sound system. The playable sound system has a plurality of interactors each having an identity specified by identification circuitry, a detection array, an interface, a computer readable medium storing application data, and a digital processor coupled to the interface. The detection array has multiple spots for engaging the interactors in order to at least temporarily connect the identification circuitry of the interactor with internal circuitry of the detection space. The interface responds to the disposition of interactors within the detection array and provides an interactor signal indicative of the identity and position of each interactor disposed within the detection array. The application data stored on the computer readable medium storing defines both an identity mapping between each interactor identity and a corresponding interactor identity instruction, and a position mapping between each of the plurality of positions and a corresponding position instruction. The digital processor executes a sound sequence dependent upon the interactor signal and the application data.
Yet another embodiment of the present invention teaches an interactor suitable for manually placing within a detection space of a computerized interactor system. The interactor has identity circuitry defining an identity of the interactor, a light conduit arranged to conduct light through the interactor, and user programmable state circuitry defining a state of the interactor.
One aspect of the present invention teaches a computer implemented method allowing a user to control an application executing on a computer system through the use of a plurality of physical interactors that can be manually placed within a detection space coupled to the computer system. This control method includes providing a computer readable medium storing data and operating instructions suitable for use in controlling the computer system, reading application instructions into memory of the computer system, and generating a play array that includes data corresponding to a position and an identity of each interactor positioned within the detection space. The control method also repeatedly executes an action based upon the play array and the application instructions, monitors to determine whether an event has occurred that requires updating the play array, and updates the play array when an event occurs that requires such an update. Events requiring an update include an interactor interrupt and a software interrupt, the interactor interrupt corresponding to one of i) the insertion of a particular interactor into the detection space and ii) the removal of the particular interactor from the detection space. In addition to having an identity parameter, each interactor may also have one or more variable parameters that may be adjustable by the user, or may vary depending upon other circumstances. The control method can utilize the parameter values in executing the application. In these cases, when the control method determines that a parameter value has changed, an interrupt would effectuate a change in the play array.
These and other advantages of the present invention will become apparent upon reading the following detailed descriptions and studying the various figures of the drawings.